/***************************************************************
 * Name:      CodePaste
 * Purpose:   Code::Blocks plugin
 * Author:     ()
 * Created:   2011-03-04
 * Copyright:
 * License:   GPL
 **************************************************************/

#ifndef CODEPASTE_H_INCLUDED
#define CODEPASTE_H_INCLUDED

// For compilers that support precompilation, includes <wx/wx.h>
#include <wx/wxprec.h>

#ifndef WX_PRECOMP
   #include <wx/wx.h>
#endif

#include <cbplugin.h> // for "class cbPlugin"

class CodePaste : public cbPlugin
{
public:
   /** Constructor. */
   CodePaste();
   /** Destructor. */
   virtual ~CodePaste();

   void BuildMenu(wxMenuBar* menuBar);
   void BuildModuleMenu(const ModuleType type, wxMenu* menu, const FileTreeData* data = 0);
   bool BuildToolBar(wxToolBar* toolBar){ return false; }
   int GetConfigurationGroup() const { return cgEditor; }
   int GetConfigurationPriority() const { return 40; }
   cbConfigurationPanel* GetConfigurationPanel(wxWindow *parent);

protected:

   void LoadConfiguration();
   void SaveConfiguration();

   void OnAttach();
   void OnRelease(bool appShutDown);

   void OnPasteBin(wxCommandEvent& event);

private:
   DECLARE_EVENT_TABLE();
};

#endif // CODEPASTE_H_INCLUDED
